package cn.itcast.nems.studentrecord.service;

/**
 * 业务凭单审批流程相关逻辑
 */
public interface BusinessApprovalFlowService {

    /**
     * 业务流程key
     * @author 高昌露
     * @since 2023/11/22 15:03
     * @return java.lang.String
     */

    String processKey();

    /**
     * 审批流程开始
     *
     * @param businessApprovalFormId 各个业务凭单ID
     * @author 高昌露
     * @since 2023/11/23 9:41
     */
    void start(String businessApprovalFormId);

    /**
     * 流程进行事件处理
     *
     * @param businessApprovalFormId 各业务凭单ID
     * @param pass                   是否通过
     * @author 高昌露
     * @since 2023/11/23 9:40
     */
    void proceed(String businessApprovalFormId, Boolean pass);

    // 撤回

    /**
     * 工作流审批流程结束
     *
     * @param businessApprovalFormId 各业务凭单ID
     * @param pass                   是否通过
     */
    void processFinish(String businessApprovalFormId, Boolean pass);


}
